/**
 * 判断数据是否为 undefined
 *
 * @param data 任意数据
 * @returns {data is undefined} 数据是否为 undefined，true 表示数据为 undefined，false 表示数据不为 undefined
 */
export const isUndefined = (data: any): data is undefined => Object.is(data, undefined)


/**
 * 判断数据是否为 null
 *
 * @param data 任意数据
 * @returns {data is null} 数据是否为 null，true 表示数据为 null，false 表示数据不为 null
 */
export const isNull = (data: any): data is null => Object.is(data, null)


/**
 * 判断数据是否为空，即判断数据是否为 undefined 或 null
 *
 * @param data 任意数据
 * @returns {boolean} 数据是否为空，true 表示数据为空，false 表示数据不为空
 */
export const isNone = (data: any): data is (undefined | null) => isUndefined(data) || isNull(data)
